package cn.tedu.api;

import java.util.Scanner;

/**本类用于正则表达式的入门案例*/
//需求：接受用户输入的身份证号，将判断的结果输出
public class TestRegex {
    public static void main(String[] args) {
        //1.编辑正则表达式
        //身份证号的规律：一共是18位，前17位是数字，第18位可能是数字，可能是X
        String regex = "[0-9]{17}[0-9X]";
        /**单个\ 在jave中有特殊的含义，表示转义符号，不认为是一个单纯的斜杠
         * 所以如果想要表示斜杠，需要在他前面加一个用来转义的\
         * 也就是\\才表示成一个单纯的斜杠
         * \t 制表符
         * \r 回车符
         * \n 换行符*/
//        String regex = "\\d{17}[0-9X]";

        //2.接收用户输入的身份证号
        String input;
        do {
            System.out.println("请您输入您的身份证号：");
            input = new Scanner(System.in).nextLine();
            if (input.matches(regex)){
                System.out.println("输入正确");
                return;
            }

        }while (!input.matches(regex));


    }
}
